<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<link rel="stylesheet" type="text/css" href="../../css/reset.css"/>
		<link rel="stylesheet" type="text/css" href="../../css/add.css"/>
	</head>
	<body>
		<div id="app">
			<div class="header">
				<span>修改快递信息</span>
			</div>
			<div class="content">
				<table>	
					<tr>
						<td class="text-right">运单号</td><td class="content_right"><input class="input inline-input" placeholder="请输入运单号码" id="number"> <span class="btn btn-info" id="find">立即查找</span></td>
					</tr>
				</table>
			</div>
			
			
			<div class="header">
				<span>查找信息如下</span>
			</div>
			<div class="content">
				<table>
					<tr>
						<td class="text-right">快递单号</td><td class="content_right"><input class="input" placeholder="请输入姓名"></td>
					</tr>
					<tr>
						<td class="text-right">快递公司</td><td class="content_right"><input class="input" placeholder="请输入姓名"></td>
					</tr>
					<tr>
						<td class="text-right">收货人姓名</td><td class="content_right"><input class="input" placeholder="请输入姓名"></td>
					</tr>
					<tr>
						<td class="text-right">手机号码</td><td class="content_right"><input class="input" placeholder="请输入姓名"></td>
					</tr>
					<tr>
						<td class="text-right">快递状态</td><td class="content_right"><input type="radio" class="status" name="status" value="1">已签收  <input class="status" name="status" type="radio" value="0">未签收</td>
					</tr>
					<tr>
						<td></td><td class="content_right"><span class="btn btn-info" id="update">立即修改</span> <span class="btn">重置</span> </td>
					</tr>
				</table>
			</div>
		</div>
	</body>
	<!--先隐藏展示查找信息的模块，待输入运单号查找后再显示-->
	<script src="/qrcode/jquery2.1.4.js"></script>
	<script src="/layer/layer.js"></script>
	<script>
		$(".header:eq(1),.content:eq(1)").hide();
		var expressId = null;
		var g_userPhone = null;

		//表单验证变量
		var flag_number;
		var flag_tel;
		var flag_name;
		var flag_company;
		//表单验证方法
		function checkSubmit(){
			$("input:eq(1),input:eq(0)").blur(function () {
				var reg_num = /^\d{1,10}$/;
				if ($(this).val() == ""){
					layer.tips("单号不能为空!",$(this),{tipsMore:true,tips:1});
					flag_number = false;
				}else if (!reg_num.test($(this).val())){
					layer.tips("请输入1~10位纯数字单号!",$(this),{tipsMore:true,tips:1});
					flag_number = false;
				}else {
					flag_number = true;
				}
			});
			$("input:eq(2)").blur(function () {
				if ($(this).val() == ""){
					layer.tips("快递公司不能为空!",$(this),{tipsMore:true,tips:1});
					flag_company = false;
				}else if ($(this).val().length > 10){
					layer.tips("快递公司名称长度在10个字符以内!",$(this),{tipsMore:true,tips:1});
					flag_company = false;
				}else {
					flag_company = true;
				}
			});
			$("input:eq(3)").blur(function () {
				if ($(this).val() == ""){
					layer.tips("姓名不能为空!",$(this),{tipsMore:true,tips:1});
					flag_name = false;
				}else if ($(this).val().length > 20){
					layer.tips("姓名长度在20个字符以内!",$(this),{tipsMore:true,tips:1});
					flag_name = false;
				}else {
					flag_name = true;
				}
			});
			$("input:eq(4)").blur(function () {
				var reg_tel = /^1[3-9](\d){9}$/;
				if ($(this).val() == ""){
					layer.tips("手机号不能为空!",$(this),{tipsMore:true,tips:1});
					flag_tel = false;
				}else if (!reg_tel.test($(this).val())){
					layer.tips("请输入正确的11位手机号!",$(this),{tipsMore:true,tips:1});
					flag_tel = false;
				}else {
					flag_tel = true;
				}
			})
		};

		$(function () {
			$("#find").click(function () {
				checkSubmit();
				$("input:eq(0)").trigger("blur");
				if (flag_number){
					var windowId = layer.load();
					var number = $("#number").val();
					$.getJSON("/express/find.do",{number:number},function (data) {
						layer.close(windowId);
						layer.msg(data.result);
						if (data.status == 0){
							//查询成功，显示展示查找信息的模块
							$(".header:eq(1),.content:eq(1)").fadeIn(1000);//1秒淡入效果
							expressId = data.data.id;
							g_userPhone = data.data.userPhone;
							$("input:eq(1)").val(data.data.number);
							$("input:eq(2)").val(data.data.company);
							$("input:eq(3)").val(data.data.username);
							$("input:eq(4)").val(data.data.userPhone);
							if (data.data.status == 0){
								//未签收的快递
								$(".status:eq(1)").prop("checked",true);
							}else {
								//已签收的快递
								$(".status:eq(0)").prop("checked",true);
							}
						}
					})
				}
			})

			$("#update").click(function () {
				$("input:eq(1),input:eq(2),input:eq(3),input:eq(4)").trigger("blur");
				if (flag_number && flag_company && flag_name && flag_tel) {
					var windowId = layer.load();
					var number = $("input:eq(1)").val();
					var company = $("input:eq(2)").val();
					var username = $("input:eq(3)").val();
					var userPhone = $("input:eq(4)").val();
					var status = $(".status:checked").val();//获取选中的单选框的值
					//如果用户没有更改手机号码，则不返回用户手机号码数据（根据update的service层逻辑作出这样的处理）
					//注意如果用户没有更改手机号码，则数据传递到后台时userPhone不能有键（也就是直接没有这个键值对），否则依旧无法进入正确逻辑
					var express = {//传递给后台的数据对象，这里要做特殊处理所以封装为对象
						id: expressId,//要根据快递的id修改，所以注意传id
						number: number,
						company: company,
						username: username,
						status: status
					};
					//如果用户更改了手机号码，则添加userPhone键值对
					if (userPhone != g_userPhone) {
						express.userPhone = userPhone;
					}
					$.getJSON("/express/update.do", express, function (data) {
						layer.close(windowId);
						layer.msg(data.result);
						if (data.status == 0) {
							//修改成功，本次修改结束，隐藏展示查找信息的模块
							$(".header:eq(1),.content:eq(1)").hide();
						}
					})
				}else {
					layer.msg("快递信息不符合要求!");
				}
			})
		})
	</script>
</html>
